package com.pig4cloud.pigx.system.mapstruct;

import com.pig4cloud.pigx.system.dto.SystemSymbolAddDTO;
import com.pig4cloud.pigx.system.dto.SystemSymbolEditDTO;
import com.pig4cloud.pigx.system.entity.SystemSymbol;
import com.pig4cloud.pigx.system.vo.SystemSymbolOptionVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * SystemSymbolStruct
 *
 * @since 2022/11/24 11:37
 */
@Mapper
public interface SystemSymbolStruct {
	SystemSymbolStruct INSTANCE = Mappers.getMapper(SystemSymbolStruct.class);

	/**
	 * addDTO -> entity
	 *
	 * @param dto dto
	 * @return {@link SystemSymbol}
	 * @since 2022/2/8
	 */
	SystemSymbol addDTO2entity(SystemSymbolAddDTO dto);

	/**
	 * editDTO -> entity
	 *
	 * @param dto dto
	 * @return {@link SystemSymbol}
	 * @since 2022/2/8
	 */
	SystemSymbol editDTO2entity(SystemSymbolEditDTO dto);

	/**
	 * list -> optionVOList
	 *
	 * @param list list
	 * @return {@link List< SystemSymbolOptionVO>}
	 * @since 2022/2/8
	 */
	List<SystemSymbolOptionVO> list2OptionVOList(List<SystemSymbol> list);
}
